import Strings from '../assets/alert';
// import Storage from './storage';
// import ConstantUtils from "../js/vue.constant";

let strings = Strings;
let Param = {
  pickerDefaultOption: {
    id: '-1',
    name: '请选择'
  },
  alert(param) {
    let resParams = param;
    resParams.title = param.title ? param.title : '';
    resParams.text = param.text ? param.text : '';
    resParams.content = param.content ? param.content : '';
    let initBtns = param.buttons ? param.buttons : [];
    let initBtnsLen = initBtns.length;
    switch (initBtnsLen) {
      case 1:
        initBtns[0]['text'] = initBtns[0].text ? initBtns[0].text
            : Strings.buttons.confirm;
        initBtns[0]['color'] = initBtns[0].color ? initBtns[0].color
            : Strings.colors.default;
        initBtns[0]['onClick'] = (initBtns[0].onClick
        && typeof initBtns[0].onClick == "function") ? initBtns[0].onClick
            : null;
        break;
      case 2:
        initBtns[0]['text'] = initBtns[0].text ? initBtns[0].text
            : Strings.buttons.no;
        initBtns[0]['color'] = initBtns[0].color ? initBtns[0].color
            : Strings.colors.gray;
        initBtns[0]['onClick'] = (initBtns[0].onClick
        && typeof initBtns[0].onClick == "function") ? initBtns[0].onClick
            : null;
        initBtns[1]['text'] = initBtns[1].text ? initBtns[1].text
            : Strings.buttons.yes;
        initBtns[1]['color'] = initBtns[1].color ? initBtns[1].color
            : Strings.colors.default;
        initBtns[1]['onClick'] = (initBtns[1].onClick
        && typeof initBtns[1].onClick == "function") ? initBtns[1].onClick
            : null;
        break;
      default:
        break;
    }
    resParams.buttons = initBtns;
    return resParams;
  },
  toast(param) {
    let resParams = param;
    resParams.text = param.text ? param.text : '';
    resParams.closeTimeout = param.closeTimeout ? param.closeTimeout : 2000;
    return resParams;
  },
  popover(param) {
    let resParams = param;
    return resParams;
  },
  picker(param) {
    let _this = this;
    let resParams = param;
    let separator = param.separator ? param.separator : ' ';// 双列时的分隔符
    let isNoDefaultOptions = (param.isNoDefaultOption != undefined
    && typeof param.isNoDefaultOption == "boolean"
    && param.isNoDefaultOption)
        ? param.isNoDefaultOption : false; // 当列是否不添加默认 请选择 项
    resParams.rotateEffect = param.rotateEffect ? param.rotateEffect : false;
    resParams.closeByOutsideClick = param.closeByOutsideClick
        ? param.closeByOutsideClick : true;
    resParams.toolbarCloseText = param.toolbarCloseText
        ? param.toolbarCloseText : '确定';
    resParams.value = param.value ? param.value : [];
    resParams.formatValue = (param.formatValue && typeof param.formatValue
    == "function") ? param.formatValue : null;
    resParams.cols = param.cols ? param.cols : [];
    // 获取共含有几个选择列 及 默认字体居中显示设置
    let beforeCols = resParams.cols;
    let afterCols = [];
    let afterResCols = [];
    for (let i in beforeCols) {
      let item = beforeCols[i];
      if (item.divider) {
        afterResCols.push(item);
      } else {
        item['textAlign'] = item.textAlign ? item.textAlign : 'center';
        afterCols.push(item);
        afterResCols.push(item);
      }
    }
    let colsLen = afterCols.length;
    switch (colsLen) {
      case 1:
        // 默认 value 设置
        let valueId = isNoDefaultOptions ? (resParams.cols[0].values[0].length
        > 0 ? resParams.cols[0].values[0] : '') : _this.pickerDefaultOption.id;
        let valLen = param.value.length;
        if (valLen > 0) {
          valueId = (param.value[0] || param.value[0] == 0) ? param.value[0]
              : valueId;
        } else {
          valueId = valueId;
        }
        resParams.value = [valueId];
        if (!isNoDefaultOptions) {
          if (resParams.cols[0].values.length > _this.pickerDefaultOption.id) {
            if (resParams.cols[0].values[0] != _this.pickerDefaultOption.id) {
              resParams.cols[0].values.splice(0, 0,
                  _this.pickerDefaultOption.id);
              resParams.cols[0].displayValues.splice(0, 0,
                  _this.pickerDefaultOption.name);
            }
          } else {
            resParams.cols[0].values.splice(0, 0, _this.pickerDefaultOption.id);
            resParams.cols[0].displayValues.splice(0, 0,
                _this.pickerDefaultOption.name);
          }
        }
        // 默认字体居中显示设置
        resParams.cols = afterResCols;
        // resParams.cols[0].textAlign = resParams.cols[0].textAlign
        //     ? resParams.cols[0].textAlign : 'center';
        // 默认 formatValue 展示设置
        if (!resParams.formatValue) {
          resParams.formatValue = (values, displayValues) => {
            return displayValues[0];
          };
        }
        break;
      case 2:
        // 默认字体居中显示设置
        resParams.cols = afterResCols;
        // 默认字体居中显示设置
        // let beforeResCols = resParams.cols;
        // let afterResCols = [];
        // for (let i in beforeResCols) {
        //   let item = beforeResCols[i];
        //   if (!item.divider) {
        //     item['textAlign'] = item.textAlign ? item.textAlign : 'center';
        //   }
        //   afterResCols.push(item);
        // }
        // resParams.cols = afterResCols;
        // 默认 formatValue 展示设置
        if (!resParams.formatValue) {
          resParams.formatValue = (values, displayValues) => {
            return displayValues[0] + separator + displayValues[1];
          };
        }
        break;
      default:
        // 默认字体居中显示设置
        resParams.cols = afterResCols;
        break;
    }
    return resParams;
  },
  popup(param) {
    let resParams = param;
    return resParams;
  },
  photoBrowser(param) {
    let resParams = param;
    resParams['theme'] = 'dark';
    resParams['navbarOfText'] = param.navbarOfText ? param.navbarOfText : '/';
    return resParams;
  },
};

export default Param;